home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
extras
/
falcon
/
bwing105
/
bwrestor.s
< prev
next >
Wrap
Text File
|
1995-04-27
|
3KB
|
99 lines
;
; Bird's Wings Restore 1.12
;
; RéInstalle l'écran virtuel pour Bird's Wings, dans le cas ou
; un programme ne remettrait pas correctement la résolution
;
; Remet les adresses écran et le mode vidéo
; Note: Les appels Xbios doivent se faire en mode utilisateur
;
Section TEXT ; .TEXT tout court dans certains compilateurs
Cookoo:
Pea Gato ; Bonjour!
Move.W #9,-(Sp) ; Print
Trap #1 ; Appel GEMDOS
Addq.L #6,Sp ; Corriger pile
Super:
Clr.L -(Sp) ; Mode superviseur
Move.W #32,-(Sp) ; Super
Trap #1 ; Appel GEMDOS
Addq.L #6,Sp ; Corriger pile
Move.L D0,D7 ; Mettre ancienne pile à l'abri
TstCook:
Tst.L $5A0.W ; Une jar au moins?
Ble.s NoCook ; Non, c'est quoi ce micmac?
Move.L $5A0.W,a6 ; La boiboite à gato
CookL:
Move.L (a6)+,d0 ; On en prend un
Beq.s NoCook ; Un gateau creux?
Cmp.L #'WBrd',d0 ; Notre gâto?
Beq.s OkCook ; Ouais!
Addq.L #4,a6 ; Suivant!
Bra.s CookL ; Et ca repart
OkCook:
Move.L (A6),A6 ; Adresse bloc B.W. (offset 0= adresse écran)
; Note: le SetScreen en mode utilisateur!
Move.L D7,-(Sp) ; Ancienne pile utilisateur
Move.W #32,-(Sp) ; Super
Trap #1 ; Appel GEMDOS
Addq.l #6,Sp ; Corriger pile (la pauvre décidément)
Move.W #-1,-(Sp) ; Demander mode (fictif, car seul le bit 12 est important)
Move.W #88,-(Sp) ; VSetMode
Trap #14 ; Appel XBIOS
Addq.L #4,Sp ; Corriger pile
Bset.L #12,D0 ; Bit #12 de Bird's Wings : ordre de réinstallation
Setscreen:
Move.W D0,-(Sp) ; Mode (seul le bit 12 est nécessaire en fait)
Move.W #3,-(Sp) ; SetMode
Move.L (A6),-(Sp) ; Adresse écran Bird's Wings
Move.L (A6),-(Sp) ; Idem
Move.W #5,-(Sp) ; SetScreen
Trap #14 ; Appel XBIOS
Add.L #12,Sp ; Corriger pile
Bra.s End ; Ok all good
NoCook:
Pea Bah ; Euh erreur
Move.W #9,-(Sp) ; Print
Trap #1 ; Appel GEMDOS
Addq.L #6,Sp ; Corriger pile
Move.W #7,-(Sp) ; Attendre une touche sinon il va rien voir et rien comprendre l'autre
Trap #1 ; Appel GEMDOS
Addq.L #2,Sp ; Corriger pile
Suite:
Move.L D7,-(Sp) ; Ancienne pile utilisateur
Move.W #32,-(Sp) ; Super
Trap #1 ; Appel GEMDOS
Addq.l #6,Sp ; Corriger pile (la pauvre décidément)
End:
Clr.W -(Sp) ; PTerm
Trap #1 ; Appel j'aime DOS
Section DATA ; ou .DATA
Even ; Even and Hell (...)
Gato: Dc.b 27,"E","WRestore 1.1 pour Bird's Wings",13,10
Dc.b "Réinstalle l'écran",13,10
Dc.b 0
Even
Bah: Dc.b 10,"Bird's Wings non installé, arrêtez la tisane .. ou lisez la DOC!",13,10,0